Édition : Erreur d'analyse XML

Problème rencontré : "Erreur d'analyse XML"

ChuWiki 2.0
Renderer = wiki2xhtml

Circonstances: De l'utilité de tester son site dans plusieurs navigateurs

Ce matin je reçois un e-mail d'un ami qui me dit que mon site est tout cassé. Je me rends donc à son adresse avec mon navigateur préféré (Opera) et ne constate rien d'anormal.
J'ouvre alors ce même site avec Iceweasel (alias Firefox) et là effectivement j'ai le messages d'erreur suivant:

Erreur d'analyse XML : balise ne correspondant pas. Attendu : </link>.
Emplacement : http://99max.net/Linux/wiki/Accueil
Numéro de ligne 12, Colonne 3 :

</head>
--^

Identifier le problème

La ligne "Erreur d'analyse XML : balise ne correspondant pas. Attendu : </link>." me met la puce à l'oreille. Il y a quelques jours j'ai "enjolivé" mes titres de nouvelles polices en utilisant le service Google webfonts. Pour ce faire j'ai du ajouter quelques lignes à mon fichier "theme.php" comme ceci:

...
WriteLine('<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Mouse+Memoirs">');
WriteLine('<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Denk+One">');
...

J'efface ces lignes et après rechargement de la page celle-ci s'affiche correctement (ouf): problème identifié!

Corriger le problème

Si on analyse un peu la ligne "Erreur d'analyse XML : balise ne correspondant pas. Attendu : </link>." on comprend que le moteur xml attendait une balise de fermeture "<\link>" qu'il n'a pas trouvé. Hé oui, en y regardant de plus près, les liens css dans les "WriteLine()" n'ont pas de balise de fermeture.

Pour corriger le problème il suffira de les écrire comme ça:

WriteLine('<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Mouse+Memoirs" />');
WriteLine('<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Denk+One" />');

ou comme ça

WriteLine('<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Mouse+Memoirs"></link>');
WriteLine('<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Denk+One"></link>');

Règles de formatage

_texte_
Faire une emphase (italique)
__texte__
Faire une emphase forte (gras)
@@texte@@
Faire un petit code
''texte|langue|source''
Faire une petite citation
>texte
Faire un paragraphe de citation
[texte|URI|langue|titre]
Faire un lien vers une page, les paramètres sont optionnels
((image|texte alternatif|alignement))
Ajouter une image, alignement peut valoir G(auche), D(roite) ou C(entre)
texte
Tout texte écrit simplement sera transformé en paragraphes.
!titre1, !!titre2, !!!titre3, etc.
Créer un titre d'un niveau égal au nombre de !
-texte ou *texte
Faire une liste d'éléments non numérotés
#texte
Faire une liste d'éléments numérotés
;titre:définition
Faire une définition/liste de définitions
??acronyme|titre??
Faire un acronyme
[ESPACE]texte ou {{{texte}}}
Le texte sera préformaté, utile pour écrire des bouts de code
==== ou ---- (au moins 4)
Une ligne de séparation horizontale
\
Si vous ne voulez pas que la syntaxe wiki s'applique, faites précéder les caractères spéciaux par des anti-slashs.